// 安装TFT库  bodmer/TFT_eSPI
#include <Arduino.h>
#include <TFT_eSPI.h>
#include "myfont.h"

// ESP8266默认接线SCK-->D5, SDA-->D7, RES-->D4, DC-->D3
TFT_eSPI tft = TFT_eSPI(240, 240); // 声明TFT对象，240*240

void showMyFont(int32_t x, int32_t y, const char c[3], uint32_t color)
{

  for (int k = 0; k < 10; k++)
  {
    if (hanzi[k].Index[0] == c[0] && hanzi[k].Index[1] == c[1] && hanzi[k].Index[2] == c[2]){
    tft.drawBitmap(x, y, hanzi[k].hz_Id, hanzi[k].hz_width, 16, TFT_BLUE);
  }
    //  if (hanzi[k].Index[0] == c[0] && hanzi[k].Index[1] == c[1] && hanzi[k].Index[2] == c[2])
    //  {
    //    Serial.println(k);
    // //   // tft.drawBitmap(20, 20, hanzi[k].hz_Id, hanzi[k].hz_width, 16, color);
    //    // return;
  //   //  }
  }
}

void showMyFonts(int32_t x, int32_t y, const char str[], uint32_t color)
{
  int x0 = x;
  int len = strlen(str);
  for (int i = 0; i < len; i += 3)
  {
    if (i + 2 >= len)
      break; // 防止越界
    showMyFont(x0, y, str + i, color);
    Serial.println(str + i);
    x0 += 17;
  }
}

void setup()
{
  Serial.begin(115200);

  tft.init();         // 初始化tft
  tft.setRotation(0); // 0度界面显示
  tft.setTextSize(1);
  tft.fillScreen(TFT_BLACK);
  tft.setTextColor(TFT_GREEN, TFT_BLACK);
  tft.drawString(" !\"#$%&'()*+,-./0123456", 0, 0, 2);
  tft.drawBitmap(20, 20, hanzi[0].hz_Id, hanzi[0].hz_width, 16, TFT_BLUE);
  // showMyFont(40,40,"年",TFT_BLUE);
  showMyFonts(0, 50, "周一二三四", TFT_YELLOW);
}

void loop()
{
}